package com.ruoyi.develop.finance.financeAp.service;

import java.util.List;

import com.ruoyi.develop.finance.financeAp.domain.FinanceAp;
import com.ruoyi.develop.finance.financeBuyInvoice.domain.FinanceBuyInvoice;
import com.ruoyi.develop.goodsSaledo.domain.GoodsSaledo;
import com.ruoyi.develop.lvDaohuo.domain.LvDaohuo;
import com.ruoyi.develop.lvRuku.domain.LvRuku;
import com.ruoyi.develop.payRecord.domain.PayRecord;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

/**
 * 应付账单Service接口
 * @author lmm
 * @date 2025-07-27
 */
public interface IFinanceApService {
    /**
     * 查询应付账单
     * @param id 应付账单主键
     * @return 应付账单
     */
    public FinanceAp selectById(String id);

    /**
     * 查询应付账单列表
     * @param entity 应付账单
     * @return 应付账单集合
     */
    public List<FinanceAp> selectList(FinanceAp entity);

    /**
     * 新增应付账单
     * @param entity 应付账单
     * @return 结果
     */
    public int insert(FinanceAp entity);

    /**
     * 修改应付账单
     * @param entity 应付账单
     * @return 结果
     */
    public int update(FinanceAp entity);

    /**
     * 批量删除应付账单
     * @param ids 需要删除的应付账单主键集合
     * @return 结果
     */
    public int deleteByIds(String[] ids);

    /**
     * 删除应付账单信息
     * @param id 应付账单主键
     * @return 结果
     */
    public int deleteById(String id);

    void addByInvoice(FinanceBuyInvoice buyInvoice);

    void addByPayRecord(PayRecord entity);

    void addByPayRecordCancel(PayRecord payRecord);

    void exportData(HttpServletRequest request, HttpServletResponse response, FinanceAp entity);

    void addByStoreIn(LvRuku lvRuku);

    void addByStoreOut(LvRuku lvRuku);

}
